SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROC [dbo].[SP_TXMVTO_CNTB_Q21]            
/*-------------------------------------------------------------------*/                          
/*----- Empresa           : OFISIS S.A.                          ----*/                          
/*----- Cliente           : OFISIS S.A.                          ----*/                          
/*----- Sistema           : Contabilidad                         ----*/                          
/*----- Modulo            : Empresa                              ----*/                          
/*----- Programa          : Registro de Ventas                   ----*/                          
/*----- Nombre            : SP_TXMVTO_CNTB_Q21               ----*/                           
/*----- Script            : TXMVTO_CNTB                          ----*/                          
/*----- Desarrollado por  : Franco Gamboni Koifman               ----*/                          
/*----- Fecha             : 16/09/1997                           ----*/                          
/*----- Base de Datos     : MS SQL Server                        ----*/                          
/*----- Version BD        : 8.0                                  ----*/                          
/*-------------------------------------------------------------------*/                          
/*-------------------------------------------------------------------*/                      
/*----- Modificado 2 por  : Percy Garcia                         ----*/                      
/*----- Fecha Modifica    : 20/02/2004                         ----*/                      
/*----- Detalle Modifica  : CASO EUROS LLAMA A PROC DE CONVERSION ----*/                      
/*-------------------------------------------------------------------*/                      
/*-------------------------------------------------------------------*/                      
/*----- Modificado 3 por  : Percy Garcia                         ----*/                      
/*----- Fecha Modifica    : 01/03/2004                         ----*/                      
/*----- Detalle Modifica  : TOMA VALORES CONTABLES NO VUELVE A CALCULAR PARA EVITAR DESCUADRES ----*/                      
/*-------------------------------------------------------------------*/                    
/*-------------------------------------------------------------------*/                        
/*----- Modificado 4 por  : Percy Garcia                         ----*/                        
/*----- Fecha Modifica    : 29/03/2004                         ----*/                        
/*----- Detalle Modifica  : se aumento un parametro al procedure de conversion y se valido que mande un tipo cambio != PAC ----*/                        
/*-------------------------------------------------------------------*/       
/*-------------------------------------------------------------------*/                        
/*----- Modificado 5 por  : Percy Garcia                         ----*/                        
/*----- Fecha Modifica    : 09/12/2004                         ----*/                        
/*----- Detalle Modifica  : SE AUMENTO CAMPOS DE REFERENCIA CASO NOTAS DE CREDITO CASO OFICIAL----*/                        
/*-------------------------------------------------------------------*/       
/*-------------------------------------------------------------------*/                        
/*----- Modificado 6 por  : Gustavo Espinoza                         ----*/                        
/*----- Fecha Modifica    : 19/082005                         ----*/                        
/*----- Detalle Modifica  : Se comento esta linea: @VSTI_DOCU = TI_DOCU_REFE en select caso NCR----*/                        
/*-------------------------------------------------------------------*/       
/*-------------------------------------------------------------------*/                               
/*------ modif            : PDGV                                 ----*/        
/*------ fecha modif      : 12/08/2010                           ----*/        
/*------ detalle modif    : correccion caso el reporte se saca para contabilidad 2
y la cuenta 40 es soles con control de moneda en S
--*/      
/*-------------------------------------------------------------------*/                          
/*----- Drop proc SP_TXMVTO_CNTB_Q21                             ----*/                          
/*----- Grant all on SP_TXMVTO_CNTB_Q21 to PUBLIC     ----*/                          
/*----- EXEC SP_TXMVTO_CNTB_Q21 '01', ' ', 1, 2006, 8, 8, 'ANA', 'FEC', 'OFI'  ----*/                          
/*-------------------------------------------------------------------*/                          
@ISCO_EMPR        TD_VC_002,                          
@ISCA_WHER_LOCA   TD_VC_255,                          
@INNU_CNTB_EMPR   TD_IN_001_CONT,                          
@INNU_ANNO        TD_IN_004_ANNO,                          
@INNU_MESE_INIC   TD_IN_002_MESE,                          
@INNU_MESE_FINA   TD_IN_002_MESE,                          
@ISTI_REPO        TD_VC_003,                          
@ISTI_ORDE_REPO   TD_VC_003,                          
@ISTI_REPO_INFO   TD_VC_003                          
                          
As                          
Create Table #TWMVTO_CNTB_Q21_1                          
(FE_DOCU  Datetime NULL,                          
 TI_DOCU_SUNA Char(2)  NULL,                          
 TI_DOCU Char(3)  NULL,                          
 NO_DOCU        Varchar(50) NULL,                
 NU_DOCU Char(20) NULL,                          
 CO_UNID_CNTB Char(3)  NULL,                          
 CO_OPRC Char(3)  NULL,                          
 NU_ASTO Char(10) NULL,                          
 CO_CLIE Varchar(20) NULL,                 
 NO_CORT_CLIE Char(50) NULL,                          
 NU_RUCS_CLIE varchar(20) NULL,                          
 CO_MONE Char(3)  NULL,                          
 IM_INAF_ORIG Numeric(16,4)  NULL,                          
 IM_AFEC_ORIG Numeric(16,4)  NULL,                          
 IM_EXPO_ORIG Numeric(16,4)  NULL,                              
 IM_IIGV_ORIG Numeric(16,4)  NULL,                          
 IM_TOTA_ORIG Numeric(16,4)  NULL,                          
 IM_INAF_CNTB Numeric(16,4)  NULL,                          
 IM_AFEC_CNTB Numeric(16,4)  NULL,                          
 IM_EXPO_CNTB Numeric(16,4)  NULL,                          
 IM_IIGV_CNTB Numeric(16,4)  NULL,                          
 IM_TOTA_CNTB Numeric(16,4)  NULL,                          
 FA_CAMB Numeric(9,4)   NULL,                     
 IM_IIGV_IISC   Numeric(16,4)  NULL,     
 CO_SUNA_REFE Varchar(2) NULL,     
 TI_DOCU_REFE Varchar(3) NULL,    
 NU_DOCU_REFE Varchar(20) NULL )                          
                          
Declare                           
 @VDFE_DOCU     TD_DT_001,                          
 @CSNU_ASTO_BASE    Char(20),  --Char(16),                              
 @VSCO_MONE_BASE    TD_VC_003,                          
 @VSCO_MONE_BAS1    TD_VC_003,                          
 @VSTI_DOCU     TD_VC_003,                          
 @VSNU_DOCU     TD_VC_020,                          
 @VSCO_UNID     TD_VC_003,                          
 @VSCO_OPRC     TD_VC_003,                          
 @CSNU_ASTO     TD_VC_010,                          
 @CSCO_AUXI     TD_VC_020,                          
 @VSNO_CORT_CLIE    TD_VC_050,                          
 @VSNU_RUCS_CLIE    TD_VC_020,                          
 @VSCO_MONE  TD_VC_003,                          
 @VSCO_OPR1     TD_VC_003,                          
 @VSCO_OPR2     TD_VC_003,                          
 @VSID_VENT      TD_VC_003,                          
 @VSID_IIGV      TD_VC_003,                          
 @VSID_FONA      TD_VC_003,                          
 @VSID_RENT      TD_VC_003,                          
 @VSCO_SUNA        TD_VC_002,                          
 @VSID_EXPO      TD_VC_003,                          
 @VNIM_TOTA_BASX    TD_NU_016_004,                          
 @VNIM_TOTA_BASY    TD_NU_016_004,                          
 @VNIM_INAF_ORIX    TD_NU_016_004,                          
 @VNIM_AFEC_ORIX    TD_NU_016_004,                          
 @VNIM_EXPO_ORIX    TD_NU_016_004,                          
 @VNIM_IIGV_ORIX    TD_NU_016_004,                          
 @VNIM_TOTA_ORIX    TD_NU_016_004,                          
 @VNIM_INAF_SOLX    TD_NU_016_004,                          
 @VNIM_AFEC_SOLX    TD_NU_016_004,                      
 @VNIM_EXPO_SOLX    TD_NU_016_004,                          
 @VNIM_IIGV_SOLX    TD_NU_016_004,                          
 @VNIM_TOTA_SOLX    TD_NU_016_004,                          
 @VNFA_CAMB     TD_NU_009_004,                          
 @VNIM_IIGV_ORIG    TD_NU_016_004,                          
 @VNIM_TOTA_ORIG    TD_NU_016_004,                          
 @VNIM_EXPO_ORIG    TD_NU_016_004,                          
 @VNIM_IIGV_CNTB    TD_NU_016_004,                          
 @VNIM_TOTA_CNTB    TD_NU_016_004,                          
 @VNPO_IGV1     TD_NU_009_004,                          
 @VNPO_IGV2     TD_NU_009_004,                          
 @VNPO_REN1     TD_NU_009_004,                          
 @VNPO_REN2     TD_NU_009_004,                          
 @CDFE_DOCU     TD_DT_001,                          
 @CSTI_DOCU_CNTB    TD_VC_003,                          
 @CSNU_DOCU     TD_VC_020,                          
 @CSCO_UNID     TD_VC_003,                          
 @CSCO_OPRC     TD_VC_003,                          
 @VSNU_ASTO     TD_VC_010,                          
 @CSCN_CNTB_EMPR    TD_VC_010,                          
 @CSTI_OPER_CNTB    TD_VC_003,                          
 @CSCO_MONE     TD_VC_003,                          
 @CNFA_CAMB     TD_NU_009_004,                          
 @CNIM_MVTO_ORIG    TD_NU_016_004,                          
 @CNIM_MVTO_CNTB    TD_NU_016_004,                          
 @CSID_CNTA      TD_VC_003,                          
 @CSTI_AUXI_EMPR   TD_VC_001,                          
 @VSNO_DOCU          TD_VC_050,                          
 ----------------------------------------                          
@VSNU_CNTB_EMPR  TD_VC_001,                          
@VSNU_ANNO       TD_VC_004,                          
@VSNU_MESE_INIC  TD_VC_002,                           
@VSNU_MESE_FINA  TD_VC_002,                          
@CNNU_MESE       TD_IN_002_MESE,                          
@CNPO_REN1   TD_NU_009_004,                          
@CNPO_REN2   TD_NU_009_004,                          
@CNPO_IGV1        TD_NU_009_004,                          
@CNPO_IGV2   TD_NU_009_004,                          
@VSCO_AUXI   TD_VC_020,                            
@VNPO_IGV1_ANNO   TD_NU_009_004,                            
@VNPO_IGV2_ANNO   TD_NU_009_004,                          
@VSCO_SUNA_0001   TD_VC_002,                          
@VSCO_SUNA_NOCR   TD_VC_002,                          
@VSNU_DOCU_0001   TD_VC_020,                          
@VDFE_DOCU_0001   TD_DT_001,               
              
@CDFE_ASTO_CNTB TD_DT_001,               
@VDFE_ASTO_CNTB TD_DT_001,               
@CSTI_CAMB TD_VC_003,               
@VSTI_CAMB_BASE TD_VC_003,               
@VNIM_TOTA_CONT TD_NU_016_004,          
@VNIM_IIGV_CONT TD_NU_016_004,          
@VNIM_EXPO_CONT TD_NU_016_004,                         
@VNIM_CONT_BASX TD_NU_016_004,                         
@VNIM_CONT_BASY TD_NU_016_004,          
          
@VNIM_AFEC_CONX TD_NU_016_004,          
@VNIM_INAF_CONX TD_NU_016_004,          
@CSST_CNTA_CAMB TD_VC_003,         
@CSCO_SUNA_REFE Varchar(2),     
@CSTI_DOCU_REFE TD_VC_003,         
@CSNU_DOCU_REFE TD_VC_020,     
@VSCO_SUNA_REFE Varchar(2),     
@VSTI_DOCU_REFE TD_VC_003,         
@VSNU_DOCU_REFE TD_VC_020     
          
 Select @VNIM_TOTA_CONT = 0.00          
 Select @VNIM_IIGV_CONT = 0.00          
 Select @VNIM_EXPO_CONT = 0.00          
 Select @VNIM_AFEC_CONX = 0.00          
 Select @VNIM_INAF_CONX = 0.00          
          
 Select @VNIM_IIGV_ORIG = 0.00                          
 Select @VNIM_TOTA_ORIG = 0.00                          
 Select @VNIM_EXPO_ORIG = 0.00            
Select @VDFE_DOCU      = Null                          
 Select @VSTI_DOCU      = Null                          
 Select @VSNO_CORT_CLIE = Null                          
 Select @VSNU_RUCS_CLIE = Null                          
 Select @VSCO_MONE      = Null                          
 Select @VNIM_AFEC_ORIX = 0.00                          
 Select @VNIM_INAF_ORIX = 0.00                          
 Select @VNIM_EXPO_ORIX = 0.00                          
 Select @VNIM_IIGV_ORIX = 0.00                          
 Select @VNIM_TOTA_ORIX = 0.00                          
 Select @VNIM_AFEC_SOLX = 0.00                          
 Select @VNIM_INAF_SOLX = 0.00                          
 Select @VNIM_EXPO_SOLX = 0.00                          
 Select @VNIM_IIGV_SOLX = 0.00                          
 Select @VNIM_TOTA_ORIX = 0.00                          
 Select @VNFA_CAMB      = 0.00                              
 Select @VSNU_ASTO = Null                          
 Select @VSTI_CAMB_BASE = NULL              
 Select @VDFE_ASTO_CNTB = NULL              
                         
Select @VSCO_MONE_BAS1 = CO_MONE,                           
       @VSID_VENT = ID_VENT,                           
       @VSID_IIGV = ID_IMPT_VENT,                          
       @VSID_EXPO = ID_0003                          
  From TTCNTB_EMPR                     
Where CO_EMPR = @ISCO_EMPR                           
  and NU_CNTB_EMPR = @INNU_CNTB_EMPR                          
      
/*----- Cursor para el reporte de Registro de Compras -----*/                          
Select @VSNU_CNTB_EMPR = Convert(Varchar(1),@INNU_CNTB_EMPR)                          
Select @VSNU_ANNO      = Convert(Varchar(4),@INNU_ANNO )                          
Select @VSNU_MESE_INIC = Convert(Varchar(2),@INNU_MESE_INIC )                          
Select @VSNU_MESE_FINA = Convert(Varchar(2),@INNU_MESE_FINA )                          
                    
-- OBTENGO EL IGV ANTES DE DEFINIR EL CURSOR                          
                        
Select @VSCO_SUNA_NOCR = CO_SUNA_NOCR From TMPARA_CONT                         
Where CO_EMPR = @ISCO_EMPR                        
                          
SELECT @VNPO_IGV1_ANNO = PO_IMPT_VEN1,                          
       @VNPO_IGV2_ANNO = PO_IMPT_VEN2,                           
       @VNPO_REN1 = PO_IMPT_REN1,                          
       @VNPO_REN2 = PO_IMPT_REN2                          
From  TTPORC_IMPT                          
Where CO_EMPR = @ISCO_EMPR                          
And   NU_ANNO = @INNU_ANNO                          
And   NU_MESE = @INNU_MESE_FINA                          
                          
If @VNPO_IGV1_ANNO IS Null                          
 Select @VNPO_IGV1_ANNO = 0.00                          
If @VNPO_IGV2_ANNO IS Null                          
 Select @VNPO_IGV2_ANNO = 0.00                          
If @VNPO_REN1 IS Null                          
 Select @VNPO_REN1 = 0.00                          
If @VNPO_REN2 IS Null                          
 Select @VNPO_REN2 = 0.00                          
/*                          
Exec(" Declare CU_TXMVTO_CNTB_Q21_1 Cursor For "                          
+" Select  TXMVTO_CNTB.FE_DOCU, TXMVTO_CNTB.TI_DOCU, TXMVTO_CNTB.NU_DOCU, TXMVTO_CNTB.CO_UNID_CNTB, "                          
+" TXMVTO_CNTB.CO_OPRC_CNTB, TXMVTO_CNTB.NU_MESE, TXMVTO_CNTB.NU_ASTO, TXMVTO_CNTB.TI_AUXI_EMPR, "                          
+" TXMVTO_CNTB.CO_AUXI_EMPR, TXMVTO_CNTB.CO_CNTA_EMPR, TXMVTO_CNTB.TI_OPER, TXMVTO_CNTB.CO_MONE,  "                           
+" TXMVTO_CNTB.FA_CAMB, TXMVTO_CNTB.IM_MVTO_ORIG, TXMVTO_CNTB.IM_MVTO_CNTB, TTIDEN_CNTA.ID_CNTA, "                          
+" IsNull(TTPORC_IMPT.PO_IMPT_REN1,0), IsNull(TTPORC_IMPT.PO_IMPT_REN2,0), "                          
+" IsNull(TTPORC_IMPT.PO_IMPT_VEN1,0), IsNull(TTPORC_IMPT.PO_IMPT_VEN2,0), TXMVTO_CNTB.FE_ASTO_CNTB, TXMVTO_CNTB.TI_CAMB, TMPLAN_ANNO.ST_CNTA_CAMB, "                          
+" TTDOCU_CNTB.CO_SUNA, TXMVTO_CNTB.TI_DOCU_REFE, TXMVTO_CNTB.NU_DOCU_REFE "    
+" From TXMVTO_CNTB, TTIDEN_CNTA, "
+"		Left Outer Join TTPORC_IMPT "
+"		And TTPORC_IMPT.CO_EMPR = TXMVTO_CNTB.CO_EMPR "                          
+"		And TTPORC_IMPT.NU_ANNO = TXMVTO_CNTB.NU_ANNO "                          
+"		And TTPORC_IMPT.NU_MESE = TXMVTO_CNTB.NU_MESE, TMPLAN_ANNO, TTDOCU_CNTB "                          
+" Where TXMVTO_CNTB.CO_EMPR = '"+ @ISCO_EMPR +"'"                           
+" And Convert(Varchar(2),TXMVTO_CNTB.NU_CNTB_EMPR) = '"+@VSNU_CNTB_EMPR+ "'"                          
+" And TXMVTO_CNTB.CO_OPRC_CNTB In ( "                          
+"     Select T1.CO_OPRC_CNTB From TTIDEN_OPER T1 "                          
+"     Where T1.CO_EMPR = TXMVTO_CNTB.CO_EMPR "                          
+"     And T1.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR "                          
+"     And T1.ID_OPRC   = '"+ @VSID_VENT +"' ) "                          
+" And TXMVTO_CNTB.NU_ANNO  = Convert(Int, '"+@VSNU_ANNO+ "')"                          
+" And TXMVTO_CNTB.NU_MESE >= Convert(Int, '"+@VSNU_MESE_INIC+ "')"                
+" And TXMVTO_CNTB.NU_MESE <= Convert(Int, '"+@VSNU_MESE_FINA+ "')"      --                    
+" And ((TXMVTO_CNTB.CO_CNTA_EMPR In ( "                    
+"     Select T2.CO_CNTA_EMPR From TTIDEN_CNTA T2 "                    
+"     Where T2.CO_EMPR = TXMVTO_CNTB.CO_EMPR "                    
+"     And T2.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR "                    
+"     And T2.ID_CNTA In ( '"+ @VSID_VENT +"', '"+ @VSID_EXPO +"')) " + @ISCA_WHER_LOCA  + " ) "                 
+" Or  (TXMVTO_CNTB.CO_CNTA_EMPR In ( "                    
+"     Select T2.CO_CNTA_EMPR From TTIDEN_CNTA T2 "                    
+"     Where T2.CO_EMPR = TXMVTO_CNTB.CO_EMPR "                    
+"     And T2.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR "                    
+"     And T2.ID_CNTA = '"+ @VSID_IIGV +"'))) "                    
+" and TXMVTO_CNTB.SI_MVTO_CNTB = 'APR' " 
+" and TTIDEN_CNTA.CO_EMPR   = TXMVTO_CNTB.CO_EMPR "                          
+" and TTIDEN_CNTA.CO_CNTA_EMPR = TXMVTO_CNTB.CO_CNTA_EMPR "                          
+" and TTIDEN_CNTA.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR "                   
+" And TMPLAN_ANNO.CO_EMPR = TXMVTO_CNTB.CO_EMPR "                      
+" And TMPLAN_ANNO.CO_CNTA_EMPR = TXMVTO_CNTB.CO_CNTA_EMPR "                       
+" And TTDOCU_CNTB.TI_DOCU =* TXMVTO_CNTB.TI_DOCU_REFE "    
+" Union All "                           
+" Select Null, Null, Null, '99', '999', 99, '9999999999', Null, Null, "                          
+" Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null "                          
+" Order By 4,5,6,7,10,8,9 " )                          
*/

Exec(' Declare CU_TXMVTO_CNTB_Q21_1 Cursor For 
 Select  TXMVTO_CNTB.FE_DOCU, TXMVTO_CNTB.TI_DOCU, TXMVTO_CNTB.NU_DOCU, TXMVTO_CNTB.CO_UNID_CNTB, 
 TXMVTO_CNTB.CO_OPRC_CNTB, TXMVTO_CNTB.NU_MESE, TXMVTO_CNTB.NU_ASTO, TXMVTO_CNTB.TI_AUXI_EMPR, 
 TXMVTO_CNTB.CO_AUXI_EMPR, TXMVTO_CNTB.CO_CNTA_EMPR, TXMVTO_CNTB.TI_OPER, TXMVTO_CNTB.CO_MONE, 
 TXMVTO_CNTB.FA_CAMB, TXMVTO_CNTB.IM_MVTO_ORIG, TXMVTO_CNTB.IM_MVTO_CNTB, TTIDEN_CNTA.ID_CNTA, 
 IsNull(TTPORC_IMPT.PO_IMPT_REN1,0), IsNull(TTPORC_IMPT.PO_IMPT_REN2,0), 
 IsNull(TTPORC_IMPT.PO_IMPT_VEN1,0), IsNull(TTPORC_IMPT.PO_IMPT_VEN2,0), TXMVTO_CNTB.FE_ASTO_CNTB, TXMVTO_CNTB.TI_CAMB, TMPLAN_ANNO.ST_CNTA_CAMB, 
 TTDOCU_CNTB.CO_SUNA, TXMVTO_CNTB.TI_DOCU_REFE, TXMVTO_CNTB.NU_DOCU_REFE 
 From TXMVTO_CNTB
		Left Outer Join TTPORC_IMPT On
		TTPORC_IMPT.CO_EMPR = TXMVTO_CNTB.CO_EMPR 
		And TTPORC_IMPT.NU_ANNO = TXMVTO_CNTB.NU_ANNO 
		And TTPORC_IMPT.NU_MESE = TXMVTO_CNTB.NU_MESE

        Left Outer Join TTDOCU_CNTB On 
		TTDOCU_CNTB.TI_DOCU = TXMVTO_CNTB.TI_DOCU_REFE,


 TTIDEN_CNTA, TMPLAN_ANNO
 Where TXMVTO_CNTB.CO_EMPR = "' + @ISCO_EMPR + '"                           
 And TXMVTO_CNTB.NU_CNTB_EMPR = ' + @VSNU_CNTB_EMPR + '                          
 And TXMVTO_CNTB.CO_OPRC_CNTB In ( 
     Select T1.CO_OPRC_CNTB From TTIDEN_OPER T1 
     Where T1.CO_EMPR = TXMVTO_CNTB.CO_EMPR 
     And T1.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR 
     And T1.ID_OPRC   = "' + @VSID_VENT + '" ) 
 And TXMVTO_CNTB.NU_ANNO  = ' + @VSNU_ANNO + '                          
 And TXMVTO_CNTB.NU_MESE >= ' + @VSNU_MESE_INIC + '                
 And TXMVTO_CNTB.NU_MESE <= ' + @VSNU_MESE_FINA + '                         
 And ((TXMVTO_CNTB.CO_CNTA_EMPR In ( 
     Select T2.CO_CNTA_EMPR From TTIDEN_CNTA T2 
     Where T2.CO_EMPR = TXMVTO_CNTB.CO_EMPR
     And T2.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR
     And T2.ID_CNTA In ( "' + @VSID_VENT + '", "' + @VSID_EXPO + '")) ' + @ISCA_WHER_LOCA  + ' )                  
 Or  (TXMVTO_CNTB.CO_CNTA_EMPR In ( 
     Select T2.CO_CNTA_EMPR From TTIDEN_CNTA T2 
     Where T2.CO_EMPR = TXMVTO_CNTB.CO_EMPR
     And T2.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR
     And T2.ID_CNTA = "' + @VSID_IIGV + '")))
 and TXMVTO_CNTB.SI_MVTO_CNTB = "APR" 
 and TTIDEN_CNTA.CO_EMPR   = TXMVTO_CNTB.CO_EMPR 
 and TTIDEN_CNTA.CO_CNTA_EMPR = TXMVTO_CNTB.CO_CNTA_EMPR 
 and TTIDEN_CNTA.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR 
 And TMPLAN_ANNO.CO_EMPR = TXMVTO_CNTB.CO_EMPR 
 And TMPLAN_ANNO.CO_CNTA_EMPR = TXMVTO_CNTB.CO_CNTA_EMPR 
 Union All 
 Select Null, Null, Null, "99", "999", 99, "9999999999", Null, Null, 
 Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null 
 Order By 4,5,6,7,10,8,9 ' )                          
                          
Open CU_TXMVTO_CNTB_Q21_1                          
Fetch CU_TXMVTO_CNTB_Q21_1 into                           
    @CDFE_DOCU, @CSTI_DOCU_CNTB, @CSNU_DOCU, @CSCO_UNID, @CSCO_OPRC, @CNNU_MESE,              
    @CSNU_ASTO, @CSTI_AUXI_EMPR, @CSCO_AUXI, @CSCN_CNTB_EMPR, @CSTI_OPER_CNTB,                           
    @CSCO_MONE, @CNFA_CAMB, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSID_CNTA,                          
    @CNPO_REN1, @CNPO_REN2, @CNPO_IGV1, @CNPO_IGV2, @CDFE_ASTO_CNTB, @CSTI_CAMB, @CSST_CNTA_CAMB,     
    @CSCO_SUNA_REFE, @CSTI_DOCU_REFE, @CSNU_DOCU_REFE    
                          
Select @CSNU_ASTO_BASE = Null                          
Select @VSCO_MONE_BASE = Null                          
                          
While @@Fetch_status = 0                          
 Begin                          
                          
  If @CSNU_ASTO_BASE != Rtrim(@CSCO_UNID) + Rtrim(@CSCO_OPRC) +                           
    Substring( Convert(Varchar(3),100 + @CNNU_MESE),2,2) + Rtrim(@CSNU_ASTO)                           
    And @VSCO_MONE_BASE IS NOT Null                          
   Begin                          
	 Select @VNIM_TOTA_BASX = Round(@VNIM_TOTA_ORIG - @VNIM_IIGV_ORIG,2)                          
     Select @VNIM_TOTA_BASY = Round(@VNIM_IIGV_ORIG / ((@VNPO_IGV1 + @VNPO_IGV2) / 100),2)                          
          
---** LEE DE DATOS CONTABLES          
     Select @VNIM_CONT_BASX = Round(@VNIM_TOTA_CONT - @VNIM_IIGV_CONT,2)                          
     Select @VNIM_CONT_BASY = Round(@VNIM_IIGV_CONT / ((@VNPO_IGV1 + @VNPO_IGV2) / 100),2)                          
---** LEE DE DATOS CONTABLES          
          
                          
---######                          
--select @VNPO_IGV1 , @VNPO_IGV2, @VNIM_TOTA_BASX, @VNIM_TOTA_BASY, @VNIM_TOTA_ORIG, @VNIM_IIGV_ORIG                          
                             
     If Abs(Round(@VNIM_TOTA_BASX - @VNIM_TOTA_BASY,2)) > 0.50                          
     Begin                          
      Select @VNIM_AFEC_ORIX = Round(@VNIM_TOTA_BASY,2)                          
      Select @VNIM_INAF_ORIX = Round(@VNIM_TOTA_BASX - @VNIM_TOTA_BASY,2)                          
      Select @VNIM_AFEC_CONX = Round(@VNIM_CONT_BASY,2)                          
      Select @VNIM_INAF_CONX = Round(@VNIM_CONT_BASX - @VNIM_CONT_BASY,2)                          
     End                              
     Else                          
     Begin                          
      Select @VNIM_AFEC_ORIX = Round(@VNIM_TOTA_BASX,2)                          
      Select @VNIM_INAF_ORIX = 0.00                          
      Select @VNIM_AFEC_CONX = Round(@VNIM_CONT_BASX,2)                          
      Select @VNIM_INAF_CONX = 0.00                          
     End              
            
     If @VSCO_MONE != @VSCO_MONE_BAS1                          
     Begin                          
      Select @VNIM_EXPO_ORIX = @VNIM_EXPO_ORIG                          
      Select @VNIM_IIGV_ORIX = @VNIM_IIGV_ORIG                     
      Select @VNIM_TOTA_ORIX = @VNIM_TOTA_ORIG                          

      Select @VNIM_AFEC_SOLX = @VNIM_AFEC_CONX          
      Select @VNIM_INAF_SOLX = @VNIM_INAF_CONX          
      Select @VNIM_EXPO_SOLX = @VNIM_EXPO_CONT          
      Select @VNIM_IIGV_SOLX = @VNIM_IIGV_CONT          
      Select @VNIM_TOTA_SOLX = @VNIM_TOTA_CONT          
     End                          
   Else                          
     Begin       
      Select @VNIM_EXPO_ORIX = @VNIM_EXPO_CONT---@VNIM_EXPO_ORIG                                                                         
      Select @VNIM_AFEC_ORIX = Null                          
      Select @VNIM_INAF_ORIX = Null                          
      Select @VNIM_IIGV_ORIX = Null                          
      Select @VNIM_TOTA_ORIX = Null                          
      Select @VNFA_CAMB = Null                          
/*
      Select @VNIM_AFEC_SOLX = Round(@VNIM_AFEC_ORIX,2)                          
      Select @VNIM_INAF_SOLX = Round(@VNIM_INAF_ORIX,2)                          
      Select @VNIM_EXPO_SOLX = Round(@VNIM_EXPO_ORIG,2)                          
      Select @VNIM_IIGV_SOLX = Round(@VNIM_IIGV_ORIG,2)                          
      Select @VNIM_TOTA_SOLX = Round(@VNIM_TOTA_ORIG,2) 
*/                         
      Select @VNIM_AFEC_SOLX = @VNIM_AFEC_CONX          
      Select @VNIM_INAF_SOLX = @VNIM_INAF_CONX          
      Select @VNIM_EXPO_SOLX = @VNIM_EXPO_CONT          
      Select @VNIM_IIGV_SOLX = @VNIM_IIGV_CONT          
      Select @VNIM_TOTA_SOLX = @VNIM_TOTA_CONT          
     End                          
                          
     Select @VSCO_SUNA = CO_SUNA, @VSNO_DOCU = NO_DOCU                          
     From TTDOCU_CNTB                          
     Where TI_DOCU = @VSTI_DOCU                          
           
                
     If @ISTI_REPO_INFO = 'OFI'                  
      Begin                
      If @VNIM_EXPO_ORIX != 0                
 Begin                
  Select @VNIM_INAF_ORIX = 0                
  Select @VNIM_INAF_SOLX = 0                
  Insert Into #TWMVTO_CNTB_Q21_1 Values(                          
  @VDFE_DOCU, @VSCO_SUNA, @VSTI_DOCU, @VSNO_DOCU, @VSNU_DOCU, @VSCO_UNID,                           
  @VSCO_OPRC, @VSNU_ASTO, @VSCO_AUXI, @VSNO_CORT_CLIE, @VSNU_RUCS_CLIE,                           
  @VSCO_MONE, @VNIM_INAF_ORIX, @VNIM_AFEC_ORIX, @VNIM_EXPO_ORIX, @VNIM_IIGV_ORIX,                           
  @VNIM_TOTA_ORIX, @VNIM_INAF_SOLX, @VNIM_AFEC_SOLX, @VNIM_EXPO_SOLX, @VNIM_IIGV_SOLX,                           
  @VNIM_TOTA_SOLX, @VNFA_CAMB, 0.00, @VSCO_SUNA_REFE, @VSTI_DOCU_REFE, @VSNU_DOCU_REFE)                          
 End                
 Else --If @VNIM_EXPO_ORIX = 0                
 Insert Into #TWMVTO_CNTB_Q21_1 Values(                  
 @VDFE_DOCU, @VSCO_SUNA, @VSTI_DOCU, @VSNO_DOCU, @VSNU_DOCU, @VSCO_UNID,                           
 @VSCO_OPRC, @VSNU_ASTO, @VSCO_AUXI, @VSNO_CORT_CLIE, @VSNU_RUCS_CLIE,                           
 @VSCO_MONE, @VNIM_INAF_ORIX, @VNIM_AFEC_ORIX, @VNIM_EXPO_ORIX, @VNIM_IIGV_ORIX,                           
 @VNIM_TOTA_ORIX, @VNIM_INAF_SOLX, @VNIM_AFEC_SOLX, @VNIM_EXPO_SOLX, @VNIM_IIGV_SOLX,                           
 @VNIM_TOTA_SOLX, @VNFA_CAMB, 0.00, @VSCO_SUNA_REFE, @VSTI_DOCU_REFE, @VSNU_DOCU_REFE)                          
 End                
 Else --If @ISTI_REPO_INFO != 'OFI'                
              
 Insert Into #TWMVTO_CNTB_Q21_1 Values(                          
 @VDFE_DOCU, @VSCO_SUNA, @VSTI_DOCU, @VSNO_DOCU, @VSNU_DOCU, @VSCO_UNID,                           
 @VSCO_OPRC, @VSNU_ASTO, @VSCO_AUXI, @VSNO_CORT_CLIE, @VSNU_RUCS_CLIE,                           
 @VSCO_MONE, @VNIM_INAF_ORIX, @VNIM_AFEC_ORIX, @VNIM_EXPO_ORIX, @VNIM_IIGV_ORIX,                           
 @VNIM_TOTA_ORIX, @VNIM_INAF_SOLX, @VNIM_AFEC_SOLX, @VNIM_EXPO_SOLX, @VNIM_IIGV_SOLX,                           
 @VNIM_TOTA_SOLX, @VNFA_CAMB, 0.00, @VSCO_SUNA_REFE, @VSTI_DOCU_REFE, @VSNU_DOCU_REFE)                          
                         
 Select @VSTI_CAMB_BASE = NULL              
 Select @VDFE_ASTO_CNTB = NULL              
 Select @VSCO_MONE_BASE = Null                          
 Select @VDFE_DOCU      = Null                          
 Select @VSTI_DOCU      = Null                          
 Select @VSNO_CORT_CLIE = Null                          
 Select @VSNU_RUCS_CLIE = Null                          
 Select @VSCO_MONE      = Null                          
 Select @VNIM_IIGV_ORIG = 0.00                          
 Select @VNIM_TOTA_ORIG = 0.00                          
 Select @VNIM_EXPO_ORIG = 0.00                          
 Select @VNIM_AFEC_ORIX = 0.00                          
 Select @VNIM_INAF_ORIX = 0.00                          
 Select @VNIM_EXPO_ORIX = 0.00                          
 Select @VNIM_IIGV_ORIX = 0.00                          
 Select @VNIM_TOTA_ORIX = 0.00                          
 Select @VNIM_AFEC_SOLX = 0.00                          
 Select @VNIM_INAF_SOLX = 0.00                          
 Select @VNIM_EXPO_SOLX = 0.00                          
 Select @VNIM_IIGV_SOLX = 0.00                          
 Select @VNIM_TOTA_ORIX = 0.00                          
 Select @VNFA_CAMB = 0.00                          
 Select @VSNU_ASTO = Null          
                          
 Select @VNIM_TOTA_CONT = 0.00          
 Select @VNIM_IIGV_CONT = 0.00          
 Select @VNIM_EXPO_CONT = 0.00          
 Select @VNIM_AFEC_CONX = 0.00          
 Select @VNIM_INAF_CONX = 0.00          
 Select @VSCO_SUNA_REFE = NULL    
 Select @VSTI_DOCU_REFE = NULL    
 Select @VSNU_DOCU_REFE = NULL    
                          
   End                          
 /*-----   Acumula Movimientos - Provisiones        -----*/                          
   Select @CSNU_ASTO_BASE = Rtrim(@CSCO_UNID) + Rtrim(@CSCO_OPRC) +                           
    Substring( Convert(Varchar(3),100 + @CNNU_MESE),2,2) + Rtrim(@CSNU_ASTO)                          
                    
---####                    
----insert into aver(S1) values(@CSNU_ASTO_BASE )             
                          
--   Select @VNPO_IGV1 = @CNPO_IGV1                          
--   Select @VNPO_IGV2 = @CNPO_IGV2                          
           
        ------------------------------------------------------                          
-- OBTENGO EL CODIGO SUNAT DE LA TABLA DE DOCUMENTOS                          
 select @VSCO_SUNA_0001 = CO_SUNA                          
 FROM TTDOCU_CNTB                          
 WHERE TI_DOCU = @CSTI_DOCU_CNTB                          
 If @CSTI_DOCU_CNTB is not null                          
-- SI EL CO_SUNA DE LA TMPARA_CONT = CO_SUNA DE LA TTDOCU_CNTB           
 IF  @VSCO_SUNA_NOCR = @VSCO_SUNA_0001                          
-- SE OBTIENE EL TIPO DOCUMENTO DE REFERENCIA, EL NUMERO Y LA FECHA DE LA FACTURA ORIGEN                      
  Begin                          
    SELECT /* @VSTI_DOCU = TI_DOCU_REFE, */  
     @VSNU_DOCU_0001 = NU_DOCU_REFE,                          
    @VDFE_DOCU_0001 = FE_DOCU_REFE                          
    FROM TXMVTO_CNTB                          
    WHERE CO_EMPR = @ISCO_EMPR                          
    AND NU_CNTB_EMPR = @INNU_CNTB_EMPR                          
    AND CO_UNID_CNTB = @CSCO_UNID                          
    AND NU_ANNO = @INNU_ANNO                          
    AND NU_MESE = @INNU_MESE_FINA                          
    AND CO_OPRC_CNTB = @CSCO_OPRC                          
    AND NU_ASTO = @CSNU_ASTO                         
    AND CO_CNTA_EMPR = @CSCN_CNTB_EMPR                           
    AND SI_MVTO_CNTB = 'APR'                    
                          
                          
    --SI EL MES DEL DOCUMENTO ES IGUAL AL MES DEL REPORTE                          
    IF Year(@VDFE_DOCU_0001) + Month(@VDFE_DOCU_0001) = @INNU_ANNO + @INNU_MESE_FINA                          
      Begin                          
        SELECT @VNPO_IGV1 = @VNPO_IGV1_ANNO                          
        SELECT @VNPO_IGV2 = @VNPO_IGV2_ANNO                          
      End                          
                          
    --SI EL MES DEL DOCUMENTO ES DIFERENTE AL MES DEL REPORTE                          
    If Year(@VDFE_DOCU_0001)  + Month(@VDFE_DOCU_0001) != @INNU_ANNO + @INNU_MESE_FINA                          
      Select @VNPO_IGV1 = PO_IMPT_VEN1,                          
             @VNPO_IGV2 = PO_IMPT_VEN2                          
      From TTPORC_IMPT                          
      Where CO_EMPR = @ISCO_EMPR                          
      And   NU_ANNO = Year(@VDFE_DOCU_0001)                             
      And   NU_MESE = MONTH(@VDFE_DOCU_0001)                          
  End                          
 Else   -- IF  @VSCO_SUNA_NOCR <> @VSCO_SUNA_0001                          
  Begin                          
   If Year(@CDFE_DOCU) + Month(@CDFE_DOCU) = @INNU_ANNO + @INNU_MESE_FINA                            
    Begin                          
        SELECT @VNPO_IGV1 = @VNPO_IGV1_ANNO                          
        SELECT @VNPO_IGV2 = @VNPO_IGV2_ANNO                          
    End                          
                          
  --SI EL MES DEL DOCUMENTO ES DIFERENTE AL MES DEL REPORTE                          
  If Year(@CDFE_DOCU) + Month(@CDFE_DOCU) != @INNU_ANNO + @INNU_MESE_FINA                          
    Select @VNPO_IGV1 = PO_IMPT_VEN1,                          
           @VNPO_IGV2 = PO_IMPT_VEN2                          
    From TTPORC_IMPT                          
    Where CO_EMPR = @ISCO_EMPR                          
    And   NU_ANNO = Year(@CDFE_DOCU)                           
    And   NU_MESE = Month(@CDFE_DOCU)                          
 End --END DEL ELSE                          
 -- FIN DEL IF  @VSCO_SUNA_NOCR = @VSCO_SUNA_0001                          
------------------------------------------------------                          
                          
   -- Cuentas del Registro de VENTAS --------------                          
   If @CSID_CNTA = '002'                          
   Begin                          
     ---######                          
--     select @VSCO_MONE_BASE                          
                          
     If @VSCO_MONE_BASE IS Null                          
     Begin                          
      Select @VSCO_AUXI = CO_AUXI_EMPR,                          
             @VSNO_CORT_CLIE = NO_AUXI,                            
             @VSNU_RUCS_CLIE = NU_RUCS                          
      From TMAUXI_EMPR     
      Where  CO_EMPR = @ISCO_EMPR And                          
      TI_AUXI_EMPR = @CSTI_AUXI_EMPR And                          
      CO_AUXI_EMPR = @CSCO_AUXI                          
                          
      If @@rowcount = 0                          
     Begin              
       Select @VDFE_DOCU = Null                          
       Select @VSTI_DOCU = Null                          
       Select @VSNU_DOCU = Null                          
       Select @VSCO_AUXI = Null                           
       Select @VSNO_CORT_CLIE = Null                          
       Select @VSNU_RUCS_CLIE = Null                          
      End                          
      Else                           
      Begin                          
                          
       Select @VDFE_DOCU = @CDFE_DOCU                          
       Select @VSTI_DOCU = @CSTI_DOCU_CNTB                          
       Select @VSNU_DOCU = @CSNU_DOCU                          
      End                          
                          
      Select @VSCO_UNID = @CSCO_UNID                           
      Select @VSCO_OPRC = @CSCO_OPRC                          
      Select @VSNU_ASTO = @CSNU_ASTO                          
      Select @VSCO_SUNA_REFE = @CSCO_SUNA_REFE    
      Select @VSTI_DOCU_REFE = @CSTI_DOCU_REFE    
      Select @VSNU_DOCU_REFE = @CSNU_DOCU_REFE    
                          
      Select @VSCO_MONE = @CSCO_MONE                          
      Select @VNFA_CAMB = Round(@CNFA_CAMB,3)                          
      Select @VSCO_MONE_BASE = @CSCO_MONE                          
      Select @VSTI_CAMB_BASE = @CSTI_CAMB              
   Select @VDFE_ASTO_CNTB = @CDFE_ASTO_CNTB            
        
      If @VSTI_CAMB_BASE = 'PAC'        
        Begin         
           Select @VSTI_CAMB_BASE = @CSST_CNTA_CAMB         
        End          
     End --If @VSCO_MONE_BASE IS Null                          
                          
     If @VSCO_MONE_BASE IS NOT Null                          
     Begin                          
      If @VSCO_MONE_BASE != @CSCO_MONE                          
      Begin                          
--**       Select @CNIM_MVTO_ORIG = Round(@CNIM_MVTO_ORIG / @VNFA_CAMB,2)                          
      Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,               
      @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                    
      End                          
      If @CSTI_OPER_CNTB = 'CAR'                          
      Begin                          
       Select @VNIM_TOTA_ORIG = Round(@VNIM_TOTA_ORIG + @CNIM_MVTO_ORIG,2)                          
 --*** select importe contabilidad          
       Select @VNIM_TOTA_CONT = Round(@VNIM_TOTA_CONT + @CNIM_MVTO_CNTB,2)                
 --*** select importe contabilidad          
      End                          
      Else If @CSTI_OPER_CNTB = 'ABO'                          
      Begin                          
       Select @VNIM_TOTA_ORIG = Round(@VNIM_TOTA_ORIG - @CNIM_MVTO_ORIG,2)                          
 --*** select importe contabilidad          
       Select @VNIM_TOTA_CONT = Round(@VNIM_TOTA_CONT - @CNIM_MVTO_CNTB,2)                          
 --*** select importe contabilidad          
      End                          
     End                          
   End ---(If @CSID_CNTA = '002')                         
                          
                          
   /*----- Acumula Movimientos - IGV -----*/                           
   If @CSID_CNTA = '009'                          
   Begin                          
    If @VSCO_MONE_BASE IS NOT Null                          
    Begin                          
     If @VSCO_MONE_BASE != @CSCO_MONE                 
     Begin                          
--**      Select @CNIM_MVTO_ORIG = Round(@CNIM_MVTO_ORIG / @VNFA_CAMB,2)                          
      Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,               
      @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                    
            
     End                          
     If @CSTI_OPER_CNTB = 'ABO'                          
     Begin                          
      Select @VNIM_IIGV_ORIG = Round(@VNIM_IIGV_ORIG + @CNIM_MVTO_ORIG,2)      
 --*** select importe contabilidad          
       Select @VNIM_IIGV_CONT = Round(@VNIM_IIGV_CONT + @CNIM_MVTO_CNTB,2)        
 --*** select importe contabilidad          
     End                       
     Else If @CSTI_OPER_CNTB = 'CAR'                          
     Begin                          
      Select @VNIM_IIGV_ORIG = Round(@VNIM_IIGV_ORIG - @CNIM_MVTO_ORIG,2)                          
 --*** select importe contabilidad          
       Select @VNIM_IIGV_CONT = Round(@VNIM_IIGV_CONT - @CNIM_MVTO_CNTB,2)                          
 --*** select importe contabilidad          
     End                          
    End                          
   End --(If @CSID_CNTA = '009')                          
                          
   -- Cuenta de Exportaciones --------------                          
   If @CSID_CNTA = '026'                          
   Begin      
     If @VSCO_MONE_BASE IS Null                          
     Begin                          
      Select @VSCO_AUXI = CO_AUXI_EMPR,                          
             @VSNO_CORT_CLIE = NO_AUXI,                            
             @VSNU_RUCS_CLIE = NU_RUCS                          
      From TMAUXI_EMPR                          
      Where  CO_EMPR = @ISCO_EMPR And                          
      TI_AUXI_EMPR = @CSTI_AUXI_EMPR And                          
      CO_AUXI_EMPR = @CSCO_AUXI                          
                          
      If @@rowcount = 0                          
     Begin              
       Select @VDFE_DOCU = Null                          
       Select @VSTI_DOCU = Null                          
       Select @VSNU_DOCU = Null                          
       Select @VSCO_AUXI = Null                           
       Select @VSNO_CORT_CLIE = Null                          
       Select @VSNU_RUCS_CLIE = Null                          
      End                          
      Else                           
      Begin                          
                          
       Select @VDFE_DOCU = @CDFE_DOCU                          
       Select @VSTI_DOCU = @CSTI_DOCU_CNTB                          
       Select @VSNU_DOCU = @CSNU_DOCU                          
      End                          
                          
      Select @VSCO_UNID = @CSCO_UNID                           
      Select @VSCO_OPRC = @CSCO_OPRC                          
      Select @VSNU_ASTO = @CSNU_ASTO                          
      Select @VSCO_SUNA_REFE = @CSCO_SUNA_REFE    
      Select @VSTI_DOCU_REFE = @CSTI_DOCU_REFE    
      Select @VSNU_DOCU_REFE = @CSNU_DOCU_REFE    
                          
      Select @VSCO_MONE = @CSCO_MONE                          
      Select @VNFA_CAMB = Round(@CNFA_CAMB,3)                          
      Select @VSCO_MONE_BASE = @CSCO_MONE                          
      Select @VSTI_CAMB_BASE = @CSTI_CAMB              
   Select @VDFE_ASTO_CNTB = @CDFE_ASTO_CNTB            
        
      If @VSTI_CAMB_BASE = 'PAC'        
        Begin         
           Select @VSTI_CAMB_BASE = @CSST_CNTA_CAMB         
        End          
     End --If @VSCO_MONE_BASE IS Null 
                    
    If 1=1 ---@VSCO_MONE_BASE IS NOT Null                          
    Begin                          
     If @VSCO_MONE_BASE != @CSCO_MONE                          
     Begin 
--**      Select @CNIM_MVTO_ORIG = Round(@CNIM_MVTO_ORIG / @VNFA_CAMB,2)                          
      Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,               
      @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                    
     End                          
                          
     If @CSTI_OPER_CNTB = 'ABO'                          
     Begin                          
      Select @VNIM_EXPO_ORIG = Round(@VNIM_EXPO_ORIG - @CNIM_MVTO_ORIG,2)                          
 --*** select importe contabilidad          
       Select @VNIM_EXPO_CONT = Round(@VNIM_EXPO_CONT - @CNIM_MVTO_CNTB,2)                          
 --*** select importe contabilidad          
     End                          
     Else If @CSTI_OPER_CNTB = 'CAR'                          
     Begin                          
      Select @VNIM_EXPO_ORIG = Round(@VNIM_EXPO_ORIG + @CNIM_MVTO_ORIG,2)                          
 --*** select importe contabilidad          
       Select @VNIM_EXPO_CONT = Round(@VNIM_EXPO_CONT + @CNIM_MVTO_CNTB,2)                          
 --*** select importe contabilidad          
     End                          
    End                          
   End --(If @CSID_CNTA = '026')                          
                          
Fetch CU_TXMVTO_CNTB_Q21_1 into                           
    @CDFE_DOCU, @CSTI_DOCU_CNTB, @CSNU_DOCU, @CSCO_UNID, @CSCO_OPRC, @CNNU_MESE,                           
    @CSNU_ASTO, @CSTI_AUXI_EMPR, @CSCO_AUXI, @CSCN_CNTB_EMPR, @CSTI_OPER_CNTB,                           
    @CSCO_MONE, @CNFA_CAMB, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSID_CNTA,                          
    @CNPO_REN1, @CNPO_REN2, @CNPO_IGV1,      @CNPO_IGV2, @CDFE_ASTO_CNTB, @CSTI_CAMB,     
    @CSST_CNTA_CAMB, @CSCO_SUNA_REFE, @CSTI_DOCU_REFE, @CSNU_DOCU_REFE                              
                          
 End                          
 Close CU_TXMVTO_CNTB_Q21_1                          
 Deallocate CU_TXMVTO_CNTB_Q21_1                          
                         
if @ISTI_REPO_INFO = 'ORI'                          
Begin                          
 If @ISTI_REPO = 'ANA'                          
 Begin                          
  if @ISTI_ORDE_REPO = 'VOU'                          
    Select convert(varchar(10),FE_DOCU,103), TI_DOCU_SUNA, TI_DOCU, NO_DOCU, NU_DOCU, CO_UNID_CNTB, CO_OPRC, NU_ASTO,                          
       CO_CLIE, NO_CORT_CLIE, NU_RUCS_CLIE, CO_MONE, IM_INAF_ORIG, IM_AFEC_ORIG,                          
       IM_IIGV_ORIG, IM_TOTA_ORIG, IM_INAF_CNTB, IM_AFEC_CNTB, IM_IIGV_CNTB,                          
       IM_TOTA_CNTB, FA_CAMB                          
    From #TWMVTO_CNTB_Q21_1                          
    Order By TI_DOCU, NU_ASTO, NU_DOCU, FE_DOCU              
  Else                          
    Select convert(varchar(10),FE_DOCU,103), TI_DOCU_SUNA, TI_DOCU, NO_DOCU, NU_DOCU, CO_UNID_CNTB, CO_OPRC, NU_ASTO,                          
       CO_CLIE, NO_CORT_CLIE, NU_RUCS_CLIE, CO_MONE, IM_INAF_ORIG, IM_AFEC_ORIG,      
       IM_IIGV_ORIG, IM_TOTA_ORIG, IM_INAF_CNTB, IM_AFEC_CNTB, IM_IIGV_CNTB,                          
       IM_TOTA_CNTB, FA_CAMB                          
    From #TWMVTO_CNTB_Q21_1                          
    Order By TI_DOCU, FE_DOCU, NU_DOCU, NU_ASTO              
 End                          
  Else if @ISTI_REPO = 'RES'                          
  Begin                          
     Select Max(TI_DOCU_SUNA), TI_DOCU, Max(NO_DOCU), sum(IM_INAF_ORIG),                 
     Isnull(sum(Isnull(IM_AFEC_ORIG, 0)), 0), Isnull(sum(Isnull(IM_IIGV_ORIG, 0)), 0),                           
     Isnull(sum(Isnull(IM_TOTA_ORIG, 0)), 0), Isnull(sum(Isnull(IM_INAF_CNTB, 0)), 0),                           
     Isnull(sum(Isnull(IM_AFEC_CNTB, 0)), 0), Isnull(sum(Isnull(IM_IIGV_CNTB, 0)), 0),                     
     Isnull(sum(Isnull(IM_TOTA_CNTB, 0)), 0)                          
     From #TWMVTO_CNTB_Q21_1                          
     Group by TI_DOCU                          
     Order By TI_DOCU                          
  End                          
End                          
Else If @ISTI_REPO_INFO = 'OFI'                          
Begin                          
 If @ISTI_ORDE_REPO = 'VOU'                          
   Select convert(varchar(10),FE_DOCU,103), TI_DOCU_SUNA, TI_DOCU, NO_DOCU, NU_DOCU, CO_UNID_CNTB, CO_OPRC, NU_ASTO,                          
   CO_CLIE, NO_CORT_CLIE, NU_RUCS_CLIE, CO_MONE, IM_INAF_ORIG, IM_AFEC_ORIG, IM_EXPO_ORIG,                          
       IM_IIGV_ORIG, IM_TOTA_ORIG, IM_INAF_CNTB, IM_AFEC_CNTB, IM_EXPO_CNTB, IM_IIGV_CNTB,                          
       IM_TOTA_CNTB, FA_CAMB, IM_IIGV_IISC, CO_SUNA_REFE, TI_DOCU_REFE, NU_DOCU_REFE         
    From #TWMVTO_CNTB_Q21_1                          
    Order By TI_DOCU_SUNA, NU_DOCU, NU_ASTO, FE_DOCU              
 Else                          
   Select convert(varchar(10),FE_DOCU,103), TI_DOCU_SUNA, TI_DOCU, NO_DOCU, NU_DOCU, CO_UNID_CNTB, CO_OPRC, NU_ASTO,                          
       CO_CLIE, NO_CORT_CLIE, NU_RUCS_CLIE, CO_MONE, IM_INAF_ORIG, IM_AFEC_ORIG, IM_EXPO_ORIG,                          
       IM_IIGV_ORIG, IM_TOTA_ORIG, IM_INAF_CNTB, IM_AFEC_CNTB, IM_EXPO_CNTB, IM_IIGV_CNTB,                          
       IM_TOTA_CNTB, FA_CAMB, IM_IIGV_IISC, CO_SUNA_REFE, TI_DOCU_REFE, NU_DOCU_REFE                          
    From #TWMVTO_CNTB_Q21_1                          
    Order By  TI_DOCU_SUNA, NU_DOCU, FE_DOCU, NU_ASTO              
End                          
                          
Return                          
/*--------------------------------- Fin ------------------------------------*/            








GO
